/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.guobo.dao;

import java.util.List;
import java.util.Map;

import com.thinkgem.jeesite.common.persistence.CrudDao;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.guobo.entity.ExhOutIn;
import com.thinkgem.jeesite.modules.guobo.entity.ExhOutInReport;
import com.thinkgem.jeesite.modules.guobo.entity.TrailLog;

/**
 * 轨迹DAO接口
 * @author wudavid
 * @version 2017-03-09
 */
@MyBatisDao
public interface TrailLogDao extends CrudDao<TrailLog> {
	
	/**
	 * 根据rfid查询轨迹
	 * @return
	 */
	public List<TrailLog> findListByRfid(TrailLog trailLog);
	
	public List<TrailLog> searchNotPorcLogsByLoginUser(String userid);
	
	/**
	 * 展馆出入统计
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	public List<ExhOutInReport> getExhOutInReport(Map<String,Object> paramMap);
	
	/**
	 * 查询已处理的报警信息
	 * @param trailLog
	 * @return
	 */
	public List<TrailLog> findProcedList(TrailLog trailLog);
	
	/**
	 * 查询轨迹最后一条为out的记录
	 * @param trailLog
	 * @return
	 */
	public List<TrailLog>  findLoseList(TrailLog trailLog);
	
	/**
	 * 查询非固定资产出库报警记录的统计
	 * @param trailLog
	 * @return
	 */
	public List<ExhOutIn> findOutReport(TrailLog trailLog);
	
	/**
	 * 查询非固定资产出库报警记录的统计
	 * @param trailLog
	 * @return
	 */	
	public List<ExhOutIn> findOutReportByCondition(Map param);
	
	/**
	 * 查询非固定资产入库报警记录的统计
	 * @param trailLog
	 * @return
	 */
	public List<ExhOutIn> findInReport(TrailLog trailLog);
	
	/**
	 * 查询非固定资产入库报警记录的统计
	 * @param trailLog
	 * @return
	 */
	public List<ExhOutIn> findInReportByCondition(Map param);
	
	/**
	 * 查询固定资产出库报警记录的统计
	 * @param trailLog
	 * @return
	 */
	public List<ExhOutIn> findFixedOutReport(TrailLog trailLog);
	
	/**
	 * 查询固定资产出库报警记录的统计
	 * @param trailLog
	 * @return
	 */	
	public List<ExhOutIn> findFixedOutReportByCondition(Map param);
	
	/**
	 * 查询固定资产入库报警记录的统计
	 * @param trailLog
	 * @return
	 */
	public List<ExhOutIn> findFixedInReport(TrailLog trailLog);
	
	/**
	 * 查询固定资产入库报警记录的统计
	 * @param trailLog
	 * @return
	 */
	public List<ExhOutIn> findFixedInReportByCondition(Map param);
}